package main

import "fmt"

// Go语言直接在语言级别支持 select 关键字，用于处理异步IO问题
func main() {

	// 每个case 语句都必须是一个面向channel的操作
	//	select {
	//	case <-chan1:
	//	// 如果chan1成功读到数据，则进行该case处理语句
	//	case chan2 <- 1:
	//	// 如果成功向chan2写入数据，则进行该case处理语句
	//	default:
	//		// 如果上面都没有成功，则进入default处理流程
	//	}

	ch := make(chan int, 1)
	for i := 0; i < 1; i++ {
		// 程序实现了一个随机向 ch 中写入一个0或者1的过程
		select {
		case ch <- 0:
		case ch <- 1:
		}
		i := <-ch
		fmt.Println("Value received:", i)
	}

}
